Ctrl + H)Rapport de santé publique des Etats Unis pour l’année 1908.
Statistical Reports of Morbidity and Mortality, States and Cities of the United States: Untabulated (1908)
On travaille avec le résultat de la transcription automatique du document.
pour pouvoir :
,”\t” (tabulation);” (par défault dans Excel)| colonne A | colonne B | |
|---|---|---|
| ligne 1 | cellule i | cellule ii |
| ligne 2 | cellule iii | cellule iv |
(csv)
,colonne A,colonne B
ligne 1,cellule i,cellule ii
ligne 2,cellule iii,cellule iv
,,,
(tsv)
colonne A colonne B
ligne 1 cellule i cellule ii
ligne 2 cellule iii cellule iv
"” (2 matches)Illinois — Alton. — Month of January, 1908. Estimated populations, 20,000. Total number of deaths, 15, including 4 from tuberculosis. Cases: Diphtheria 1.
Evanston. — Year ended December 31, 1907. Estimated population, 23,000. Total number of deaths, 268, including diphtheria 3, enteric fever 5, measles 1, whooping cough 4, and scarlet fever 4. Cases: Diphtheria 19, measles 128, scarlet fever 279, smallpox 2, and whooping cough 35.
Indiana. — Month of December, 1907. Estimated population, 2,648,594. Total number of deaths, 2,768, corresponding to an annual death rate of 12.1 per 1,000 of population, including 29 from diphtheria, 69 from enteric fever, 9 from measles, 8 from scarlet fever, 7 from whooping cough, and 315 from tuberculosis.
Morbidity : Diphtheria, 340 cases in 44 counties ; enteric fever, 318 cases in 47 counties ; smallpox, 218 cases in 19 counties.
Jefersonville. — Month of August, 1907. Estimated population, 10,840. Total number of deaths, 19, including 1 from tuberculosis. Cases: Enteric fever 10, diphtheria 1, and tuberculosis 2.
Month of September, 1907. Total number of deaths, 24, including 6 from tuberculosis.
Month of October, 1907. Total number of deaths, 8, including enteric fever 1, and 1 from tuberculosis. Cases: Diphtheria 3, enteric fever 3, and tuberculosis 1.
Month of November, 1907. Total number of deaths, 17, including enteric fever 2, and 2 from tuberculosis. Cases: Diphtheria 3, enteric fever 1, and tuberculosis 2.
Month of January, 1908. Total number of deaths not reported. One death from enteric fever and 2 from tuberculosis reported. Cases: Enteric fever 1 and tuberculosis 2.
Marion. — Month of January, 1908. Estimated population, 27,000. Total number of deaths, 20, including 2 from tuberculosis. Cases: Scarlet fever 1, diphtheria 1, smallpox 4, and tuberculosis 1.
Muncie. — Month ended February 4, 1908. Estimated population, 34,036. Total number of deaths, 23, including 2 from tuberculosis. Cases : Enteric fever 1, smallpox 1, and whooping cough 4.
Iowa. — Cedar Rapids. — Month of January, 1908. Estimated population, 30,000. Total number of deaths, 39, including enteric fever 2, scarlet fever 2, and 3 from tuberculosis. Cases: Scarlet fever 18, smallpox 4, and diphtheria 2.
Davenport. — Month of January, 1908. Estimated population, 40,000. Total number of deaths not reported. One death from diphtheria and 2 from enteric fever. Cases: Diphtheria 17, enteric fever 5, measles 2, scarlet fever 2, smallpox 1, whooping cough 2, and tuberculosis 1.
For month of December, 1907, see Public Health Reports, January 17, 1908.
Total number of deaths → \tTotal number of deaths
\n\t{2,}Ces notations appartiennent au domaine des expressions régulières
fever[fevr][a-z]\w, \d., ?, ^{2}, +Month .+?\d{4}^.*February 21.*1908.*$ → (rien) ^.*Received out of regular order..*$ → (rien)
Explications sur certains caractères spéciaux: - ^ (accent circonflexe) correspond au début de la ligne. - . (point) correspond à n’importe quel caractère. - * (astérisque) correspond à toute séquence de zéro caractère ou plus. - $ (le symbole dollar) correspond à la fin de la ligne.
\n{2,} → \nExplications sur les quantifieurs: - {4} : strictement 4 fois - {1,5} : entre 1 et 5 fois - {2,} : au moins deux fois
?— ? → \tmême chose que
( )?—( )?ou[ ]?—[ ]?
Explication différence entre littéral, groupes et intervalle.
(Month of [A-Z][a-z, 0-9]+ 19[0-9][0-9].) → <t>$1</t>
() = capture
$1 = remplacement
<t></t> un pseudo balisage temporaire pour faciliter la structuration du texte, ici <t> note les informations de temps
attention à n’appliquer la regex qu’une seule fois, sinon on va avoir plusieurs <t></t> imbriqués
plus tard, on va utiliser d’autres lettre: - <p> pour les estimations de population - <N> pour les nombres totaux de décès - <c> pour “Cases” (cas)
([-A-Za-z ]+ ended [A-Z][a-z, 0-9]+ 19[0-9][0-9].) → <t>$1</t>
Même chose mais pour les rapports trimestriels (noter qu’avec cette technique, on est flexible face aux erreurs d’OCR).
(Estimated population, [0-9,]+.) → <p>$1</p> (Total number of deaths[A-Za-z ,]* [0-9,]+) → <N>$1</N> (Cases ?:) → <c>$1</c>
On va ensuite repérer les maladies et le décompte de cas pour chacune d’elles
</N> including ([A-Za-z ]+) ([0-9]+), → </N> including <d>$1</d> <n>$2</n>
> ([A-Za-z ]+) ([0-9]+)([.,]) → > <d>$1</d> <n>$2</n> (à répéter jusqu’à ce qu’il n’y ait plus de match)
and ([0-9])+ from ([a-z ]+) → <d>$2</d> <n>$1</n>
(point sur les infos sémantiques qui sont identifiées) - + questions ?
Reprenons la question de la localisation: pour le moment, on sépare les données avec une tabulation, parce que c’est plus facile à repérer
^([A-Za-z .]+\t<t>) → \t$1 ^<t> → \t\t<t>
Explication : on rajoute une tabulation lorsqu’on ne connaît pas l’Etat dans lequel se situe la ville.
Possible de faire un collage spécial dans CALC pour montrer la différence avant/après
(Il y a un cas, pour l’Indiana, où le texte indique cette section avec le terme “Morbidity”. Notre motif de recherche l’a manqué. Vous pouvez réparer le balisage à la main à présent, si vous le souhaitez, ou bien l’ignorer puisqu’il s’agit ici d’un exercice.)
^(.*\t)(.*\t)(<t>.*</t>)(.*)(<c>.*) → $1$2$3$4\n$1$2$3\t$5
^(.*\t)(.*\t)(<t>.*</t>)(.*<c>.*)(<d>.*</d>) (<n>.*</n>) → $1$2$3$4\n$1$2$3\tCases\t$5$6 (répéter)
^(.*\t)(.*\t)(<t>.*</t>)(.*<N>.*)(<d>.*</d>) (<n>.*</n>) → $1$2$3$4\n$1$2$3\tDeaths\t$5$6 (répéter)
On voit clairement la structure tabulaire se dessiner
On nettoie ensuite les données pour retirer les traces du pseudo balisage
.*</c> $ → `` (rien)\n{2,} → \n<n> → \t</n> → `` (rien)<d>and → <d></?[tdp]> → `` (rien)On a 1 TSV, faisons un vrai CSV
^\t → "",\t → ","\n → "\nCollage spécial dans Calc (UTF-8, séparateur et caractère d’échappement)
enregistrer sous “.csv”
Injecter tout dans Calc - voir que certaines lignes n’ont pas été formatées comme les autres - il reste donc des correspondances à faire à la main